// Package repository
// @Author zhongxc
// @Date 2024/7/9 15:28:00
// @Desc
package repository

import (
	"context"
	"vben-admin/pkg/model"
)

type MenuRepo interface {
	CreateMenu(ctx context.Context, menu *model.MenuModel) error
	DeleteByIds(ctx context.Context, ids []int64) error
	GetMenuById(ctx context.Context, id int64) (*model.MenuModel, error)
	GetMenuList(ctx context.Context, name string, status int32) ([]*model.MenuModel, error)
	UpdateById(ctx context.Context, id int64, menu map[string]interface{}) error
	GetMenuByName(ctx context.Context, name string) (*model.MenuModel, error)
	SelectMenu(ctx context.Context) ([]*model.MenuModel, error)
	SelectMenuByUserId(ctx context.Context, userId int64) ([]int64, error)
	FindByParentId(ctx context.Context, parentId int64) ([]*model.MenuModel, error)
}
